<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>About Crunchy Frog</title>
<link href="../css/template.css" type="text/css" rel="Stylesheet" />
</head>
<body>
<div id="topbar">
<img alt="" src="/src/images/frog.gif" class="titleimage"/>
<span class="title">Crunchy Frog: the Secret Ingredients</span>
</div>
<div id="navbar">
<span class="heading">Examples</span>
<a href="/src/html/doctest.html">DocTest</a>
<a href="/src/html/editor.html">Editor</a>
<a href="/src/html/canvas.html">Graphics</a>
<a href="/src/html/interpreter.html">Interpreter</a>
<a href="/src/html/sound.html">Sound</a>
<span class="heading">References</span>
<a href="/src/html/graphics_summary.html">Graphics</a>
<a href="/src/html/named_colours.html">Colours</a>
<a href="/src/html/sound_summary.html">Sound</a>
<a href="/src/html/vlam_summary.html">VLAM</a>
<span class="heading">&nbsp;</span>
<a href="/index.html">Main Menu</a>
<span class="me">About Crunchy Frog</span>
<a href="/src/html/faq.html">FAQ</a>
</div>
<div id="main">

<blockquote><i>We use only the finest baby frogs, dew-picked and flown from Iraq, cleansed in the finest quality spring water, lightly killed, and then sealed in a succulent Swiss quintuple smooth treble cream milk chocolate envelope, and lovingly frosted with glucose.</i><br />
<small>From the Monty Python Crunchy Frog sketch.</small></blockquote>
<br/>
<p>Crunchy Frog only uses the finest computer language 
(<a href="http://www.python.org">Python</a>), with a sprinkle of javascript; 
all code is carefully crafted from both sides of the Atlantic, with the goal
of transforming your reading of Python related tutorials into splendidly
entertaining interactive sessions, thanks to the light addition of VLAM. 
</p>

<h3>VLAM</h3>
<p>To accomplish its magic, Crunchy Frog uses VLAM.  If you think you know what VLAM stands for, and you haven't read this tutorial before, I would bet that you are wrong.  This is because VLAM is an acronym that I made up.  It stands for Very Little Additional Markup.</p>
<p>The basic idea that motivated VLAM was to make it as easy as possible to transform traditional web-based tutorials into Crunchy Frog tutorials, without changing the way that the same tutorials appeared when viewed in a normal browser without Crunchy Frog doing its magic. <small>(You may have to read the previous sentence more than once as it is admittedly too long.)</small> </p>
<blockquote><i> - Well, the Superintendent thought it was an almond whirl. People won't expect there to be a frog in there. They're bound to think it's some sort of mock frog.<br />
- Mock frog? We use no artificial preservatives or additives of any kind!</i><br />
<small>From the Monty Python Crunchy Frog sketch.</small></blockquote>
<p>As of version 0.6, all VLAMed files are only using W3C compliant markup elements; and all processed VLAM files, served by Crunchy Frog, remain W3C compliant (if they were at the beginning). [<small>One exception is the very first page displayed by Crunchy Frog - it uses a non-compliant "trick" to fetch a local html file.]</small></p>

<p>To find out more about the various VLAM keywords, you can use the following link:<a href="vlam_summary.html">VLAM</a></p>
<p>That's it ... at least for now.  This version (0.6) is the first version
that we consider a somewhat complete proof-of-concept implementation.</p>
<p>Future explorations will include:</p>
<ul>
<li>The ultimate goal will be to transform RUR-PLE as a Crunchy Frog tutorial; more mundane goals are among the following.</li>
<li>Finding out a way to save a session to resume it at a later time.</li>
<li>Running external programs (e.g. Pygame), in a non-blocking way.</li>
<li>Adding options to "colorize" the Python code embedded in the examples.</li>
<li>Adapting Crunchy Frog so that it can be used with languages other
than English.</li>
<li>Spread the word about creating Crunchy Frog compatible tutorials on web sites of other Python projects.  At the moment, there is a version of
this tutorial on the web, that can be interacted with by using Crunchy Frog
and your favourite browser.  You can find a link to it on the first (default)
Crunchy Frog page. One possible extension of this work would be to, one day, have the ability to point Crunchy Frog at the official Python tutorial site
(which would have been VLAMed by the proper authorities) and go through the
tutorial in an interactive mode.  We've included two "semi-official" 
Python tutorials as a demonstration; you can find them from the first page 
when you start Crunchy Frog.</li>
<li>Taking advantage of Brett Cannon's Ph.D. thesis when he has finished finding a way to sandbox a Python interpreter and integrate his idea within Crunchy Frog, thereby stealing all the glory.</li>
<li>... And many more ...</li>
</ul>
<p>Finally ... please let us (Andr&eacute; Roberge, Johannes Woolard) know
what you think either by posting your impressions on edu-sig or emailing us
directly [andre.roberge@gmail.com or johannes.wollard@gmail.com (sic)].  
Whenever you read "I" in these document, it refers to Andr&eacute; who
started this project.  All the "I"s should soon become "we" to recognize
the extraordinary contribution of Johannes. Johannes would like to acknowledge the financial support from Google, during
the Summer of Code 2006.</p>
</div>
</body>
</html>